<?php

namespace Luka\StoreBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Luka\StoreBundle\Entity\Translation
 *
 * @ORM\Table(name="Translation")
 * @ORM\Entity
 */
class Translation
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string $key
     *
     * @ORM\Column(name="key", type="string", length=255, nullable=false)
     */
    private $key;

    /**
     * @var string $value
     *
     * @ORM\Column(name="value", type="string", length=500, nullable=false)
     */
    private $value;

    /**
     * @var datetime $modified
     *
     * @ORM\Column(name="modified", type="datetime", nullable=false)
     */
    private $modified;

    /**
     * @var Visibility
     *
     * @ORM\ManyToOne(targetEntity="Visibility")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="visibility_id", referencedColumnName="id")
     * })
     */
    private $visibility;

    /**
     * @var Language
     *
     * @ORM\ManyToOne(targetEntity="Language")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="language", referencedColumnName="name")
     * })
     */
    private $language;



    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set key
     *
     * @param string $key
     */
    public function setKey($key)
    {
        $this->key = $key;
    }

    /**
     * Get key
     *
     * @return string 
     */
    public function getKey()
    {
        return $this->key;
    }

    /**
     * Set value
     *
     * @param string $value
     */
    public function setValue($value)
    {
        $this->value = $value;
    }

    /**
     * Get value
     *
     * @return string 
     */
    public function getValue()
    {
        return $this->value;
    }

    /**
     * Set modified
     *
     * @param datetime $modified
     */
    public function setModified($modified)
    {
        $this->modified = $modified;
    }

    /**
     * Get modified
     *
     * @return datetime 
     */
    public function getModified()
    {
        return $this->modified;
    }

    /**
     * Set visibility
     *
     * @param Luka\StoreBundle\Entity\Visibility $visibility
     */
    public function setVisibility(\Luka\StoreBundle\Entity\Visibility $visibility)
    {
        $this->visibility = $visibility;
    }

    /**
     * Get visibility
     *
     * @return Luka\StoreBundle\Entity\Visibility 
     */
    public function getVisibility()
    {
        return $this->visibility;
    }

    /**
     * Set language
     *
     * @param Luka\StoreBundle\Entity\Language $language
     */
    public function setLanguage(\Luka\StoreBundle\Entity\Language $language)
    {
        $this->language = $language;
    }

    /**
     * Get language
     *
     * @return Luka\StoreBundle\Entity\Language 
     */
    public function getLanguage()
    {
        return $this->language;
    }
}